namespace Kyoh.Lib.IO
{
    /// <summary>Contains constants that describe waveform-audio format types.</summary>
	public enum WaveFormatTag
	{
        /// <summary>Pulse Code Modulation</summary>
		Pcm = 1,
	}
	/// <summary>Contains properties that define the format of waveform-audio data.</summary>
	public struct WaveFormat
	{
        /// <summary>Retrieves and sets the required average data-transfer rate, in bytes per second, for the format type.</summary>
		public int AverageBytesPerSecond;
		/// <summary>Retrieves and sets the bits per sample for the format type.</summary>
        public short BitsPerSample;
		/// <summary>Retrieves and sets the minimum atomic unit of data, in bytes, for the format type.</summary>
        public short BlockAlign;
		/// <summary>Retrieves and sets the number of channels in the waveform-audio data, for the format type.</summary>
        public short Channels;
		/// <summary>Retrieves and sets the waveform-audio format type, for the format type.</summary>
        public WaveFormatTag FormatTag;
		/// <summary>Retrieves and sets the sample rate, in samples per second (hertz), for the format type.</summary>
        public int SamplesPerSecond;

	}
}
